/*******************************************************************************
 * Copyright (c) 2011 - 2012 TXT e-solutions SpA
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * This work was performed within the IoT_at_Work Project
 * and partially funded by the European Commission's
 * 7th Framework Programme under the research area ICT-2009.1.3
 * Internet of Things and enterprise environments.
 *
 *
 * Authors:
 *     Cristoforo Seccia (TXT e-solutions SpA)
 *
 * Contributors:
 *      Domenico Rotondi (TXT e-solutions SpA)
 *******************************************************************************/
package it.txt.access.capability.revocation.wizard;

import java.awt.Component;

/**
 *
 * @author Cristoforo Seccia (TXT e-solutions SpA)
 */
public abstract class WizardPanelController {

    private final Wizard myWizard;
    
    private Object backwardObject = new Object();

    private Object forwardObject = new Object();

    public WizardPanelController(Wizard wizard){
        myWizard = wizard;
    }
    
    protected final Wizard getWizard(){
        return myWizard;
    }

    public final Object getBackwardObject() {
        return backwardObject;
    }

    public final void setBackwardObject(Object backwardObject) {
        this.backwardObject = backwardObject;
    }

    public final Object getForwardObject() {
        return forwardObject;
    }

    public final void setForwardObject(Object forwardObject) {
        this.forwardObject = forwardObject;
    }

    public abstract Component getPanelComponent();

    public abstract boolean aboutToDisplayPanel();

    public abstract boolean aboutToHidePanel();
    
    public abstract void displayingPanel();
    
}
